//package com.xls.commonlibrary.ad.adn.tx.full;
//
//import android.util.Log;
//import android.webkit.ValueCallback;
//
//import androidx.appcompat.app.AppCompatActivity;
//import androidx.lifecycle.DefaultLifecycleObserver;
//import androidx.lifecycle.LifecycleOwner;
//
//import com.qq.e.ads.cfg.VideoOption;
//import com.qq.e.ads.interstitial2.UnifiedInterstitialAD;
//import com.qq.e.ads.interstitial2.UnifiedInterstitialADListener;
//import com.qq.e.ads.interstitial2.UnifiedInterstitialMediaListener;
//import com.qq.e.comm.listeners.NegativeFeedbackListener;
//import com.qq.e.comm.util.AdError;
//import com.xls.commonlibrary.ad.adn.tx.splash.DemoBiddingC2SUtils;
//import com.xls.commonlibrary.ad.adn.tx.splash.DemoUtil;
//import com.xls.commonlibrary.ad.adn.tx.util.DownloadConfirmHelper;
//
//import java.util.Locale;
//
//import io.reactivex.rxjava3.annotations.NonNull;
//
//// 腾讯   插半屏广告
//public class TxHalfUtil {
//
//    private UnifiedInterstitialAD iad;
//
//
////    private String posId = ""; //  demo id
//
//    private String posIdHalf = "4036995124225990"; // 正式 id   半屏
//
//
//    private String TAG = "TxUtil";
//
//    private static volatile TxHalfUtil singleton = null;
//
//    private TxHalfUtil() {
//    }
//
//    public static TxHalfUtil getInstance() {
//        if (singleton == null) {
//            synchronized (TxHalfUtil.class) {
//                if (singleton == null) {
//                    singleton = new TxHalfUtil();
//                }
//            }
//        }
//        return singleton;
//    }
//
//    AppCompatActivity activity;
//    ValueCallback<Boolean> valueCallback;
//
//    public void loadHalf(@NonNull AppCompatActivity activity,
//                         @NonNull ValueCallback<Boolean> valueCallback
//    ) {
//
//        this.activity = activity;
//        this.valueCallback = valueCallback;
//
//
//        addLifecycle();
//        initListeners();
//
//
//        loadAdHalf();
//
//    }
//
//    private void callbackSuccess() {
//        if (this.valueCallback == null) return;
//        this.valueCallback.onReceiveValue(true);
//    }
//
//    private void callbackFail() {
//        if (this.valueCallback == null) return;
//        this.valueCallback.onReceiveValue(false);
//    }
//
//
//    private void addLifecycle() {// 重要
//        if (this.activity == null) return;
//
//        this.activity.getLifecycle().addObserver(new DefaultLifecycleObserver() {
//            // 还有很多生命周期都可以感知
//            // 这里只关注 onDestroy()的注销ad对象
//            @Override
//            public void onDestroy(LifecycleOwner owner) {
//                DefaultLifecycleObserver.super.onDestroy(owner);
////                Logger.d("===========LifecycleOwner=========onDestroy===========");
//
//
//                /** 6、在onDestroy中销毁广告 */
//                if (iad != null) {
//                    iad.destroy();
//                }
//
//
//            }
//        });
//    }
//
//
//    /////////////////////////////////   以下SDK代码   ////////////////////////////////////////////
//
//
//    UnifiedInterstitialADListener adListener;
//
//    UnifiedInterstitialMediaListener mediaListener;
//
//
//    private void loadAdHalf() {
//        iad = new UnifiedInterstitialAD(this.activity, posIdHalf, adListener);
//
//        setVideoOption();
//
//        iad.setNegativeFeedbackListener(new NegativeFeedbackListener() {
//            @Override
//            public void onComplainSuccess() {
//                Log.d(TAG, "onComplainSuccess");
//            }
//        });
//        iad.setMediaListener(mediaListener);
//        iad.setLoadAdParams(DemoUtil.getLoadAdParams("interstitial"));
//
//        iad.loadAD();
//
//    }
//
//    private void setVideoOption() {
//        VideoOption.Builder builder = new VideoOption.Builder();
//        VideoOption option = builder.setAutoPlayMuted(true).build();
//        iad.setVideoOption(option);
//        // 如果支持奖励，最大、最小视频时长设置将不生效
////        iad.setMinVideoDuration(getMinVideoDuration());
////        iad.setMaxVideoDuration(getMaxVideoDuration());
//    }
//
//    private void initListeners() {
//        adListener = new UnifiedInterstitialADListener() {
//            @Override
//            public void onADReceive() {
//                Log.i(TAG, "half onADReceive");
//
//
//                if (DownloadConfirmHelper.USE_CUSTOM_DIALOG) {
//                    iad.setDownloadConfirmListener(DownloadConfirmHelper.DOWNLOAD_CONFIRM_LISTENER);
//                }
//
//                reportBiddingResult(iad);
//
//
//                if (iad != null) {
//                    iad.show();
//                }
//
//            }
//
//            @Override
//            public void onVideoCached() {
//                Log.i(TAG, "half onVideoCached");
//            }
//
//            @Override
//            public void onNoAD(AdError adError) {
//                String msg = String.format(Locale.getDefault(), "onNoAD, error code: %d, error msg: %s",
//                        adError.getErrorCode(), adError.getErrorMsg());
//
//                Log.i(TAG, "half onNoAD" + msg);
//
//                callbackFail();
//
//            }
//
//            @Override
//            public void onADOpened() {
//                Log.i(TAG, "half onADOpened");
//
//            }
//
//            @Override
//            public void onADExposure() {
//                Log.i(TAG, "half onADExposure");
//
//            }
//
//            @Override
//            public void onADClicked() {
//                Log.i(TAG, "half onADClicked");
//
//            }
//
//            @Override
//            public void onADLeftApplication() {
//                Log.i(TAG, "half onADLeftApplication");
//            }
//
//            @Override
//            public void onADClosed() {
//                Log.i(TAG, "half onADClosed");
//
//                callbackSuccess();
//            }
//
//            @Override
//            public void onRenderSuccess() {
//                Log.i(TAG, "half onRenderSuccess");
//            }
//
//            @Override
//            public void onRenderFail() {
//                Log.i(TAG, "half onRenderFail");
//            }
//        };
//
//        mediaListener = new UnifiedInterstitialMediaListener() {
//            @Override
//            public void onVideoInit() {
//
//            }
//
//            @Override
//            public void onVideoLoading() {
//
//            }
//
//            @Override
//            public void onVideoReady(long l) {
//
//            }
//
//            @Override
//            public void onVideoStart() {
//
//            }
//
//            @Override
//            public void onVideoPause() {
//
//            }
//
//            @Override
//            public void onVideoComplete() {
//
//            }
//
//            @Override
//            public void onVideoError(AdError adError) {
//
//            }
//
//            @Override
//            public void onVideoPageOpen() {
//
//            }
//
//            @Override
//            public void onVideoPageClose() {
//
//            }
//        };
//
//    }
//
//    private void reportBiddingResult(UnifiedInterstitialAD interstitialAD) {
//        DemoBiddingC2SUtils.reportBiddingWinLoss(interstitialAD);
//        if (DemoUtil.isNeedSetBidECPM()) {
//            interstitialAD.setBidECPM(300);
//        }
//    }
//}
